
package com.insigma.business.qrcode.common.converter;


import com.insigma.business.qrcode.soldier.dto.SoldierTpAllBSearcher;
import com.insigma.business.qrcode.soldier.dto.SoldierTpAllDTO;
import com.insigma.business.qrcode.soldier.entity.SoldierTpAllDO;
import com.insigma.business.qrcode.soldier.request.SoldierTpAllInsertRequest;
import com.insigma.business.qrcode.soldier.request.SoldierTpAllSearchRequest;
import com.insigma.business.qrcode.soldier.request.SoldierTpAllUpdateRequest;
import org.springframework.beans.BeanUtils;

import java.util.List;


public class SoldierTpAllProviderConverter extends AbstractConverter<SoldierTpAllDTO, SoldierTpAllDO> {

    private final static SoldierTpAllProviderConverter soldierTpAllConverter = new SoldierTpAllProviderConverter();

    private SoldierTpAllProviderConverter(){}

    
    public static SoldierTpAllBSearcher convertRequestSO2Searcher(final SoldierTpAllSearchRequest request){
        final SoldierTpAllBSearcher soldierTpAllBSearcher = new SoldierTpAllBSearcher(request.getPageNo(),
        request.getPageSize(),request.getSortKeyValueJoint());
        BeanUtils.copyProperties(request,soldierTpAllBSearcher);
        return soldierTpAllBSearcher;
    }

    
    public static SoldierTpAllDO convertRequestUO2DO(final SoldierTpAllUpdateRequest soldierTpAllUpdateRequest) {
        final SoldierTpAllDO soldierTpAllDO = new SoldierTpAllDO();
        BeanUtils.copyProperties(soldierTpAllUpdateRequest,soldierTpAllDO);
        
        return soldierTpAllDO;
    }

    
    public static SoldierTpAllDO convertRequestIO2DO(final SoldierTpAllInsertRequest soldierTpAllInsertRequest) {
        final SoldierTpAllDO soldierTpAllDO = new SoldierTpAllDO();
        BeanUtils.copyProperties(soldierTpAllInsertRequest,soldierTpAllDO);
        return soldierTpAllDO;
    }

    
    public static List<SoldierTpAllDTO> convertResponseDOList2DTOList(final List<SoldierTpAllDO> soldierTpAllDOList){
        return soldierTpAllConverter.convertGenericResponseDOList2DTOList(soldierTpAllDOList);
    }

    
    public static SoldierTpAllDTO convertResponseDO2DTO(final SoldierTpAllDO soldierTpAllDO){
        return soldierTpAllConverter.convertGenericResponseDO2DTO(soldierTpAllDO);
    }

    
    @Override
    protected SoldierTpAllDTO doConvertResponseDO2DTO(SoldierTpAllDO soldierTpAllDO) {
        final SoldierTpAllDTO soldierTpAllDTO = new SoldierTpAllDTO();
        try {
            BeanUtils.copyProperties(soldierTpAllDO, soldierTpAllDTO);
        }catch(RuntimeException be){
            
            return null;
        }
        return soldierTpAllDTO;
    }

}
